﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
using BCDto.OA.WorkflowTemplate.WorkflowTemplatePermission;
using BCDto.OA.WorkflowTemplate.WorkflowTemplateFlowStepDesign;

namespace BCDto.OA.WorkflowTemplate.WorkflowTemplate
{
	/// <summary>
	/// 工作流模板
	/// </summary>
	public class WorkflowTemplateDto
	{
		/// <summary>
		/// 工作流模板Id
		/// </summary>		
		public long WorkflowTemplateId { get; set; }
		/// <summary>
		/// 工作流模板Code
		/// </summary>		
		public string TemplateCode { get; set; }
		/// <summary>
		/// 工作流模板名称
		/// </summary>		
		public string TemplateName { get; set; }
		/// <summary>
		/// 工作流模板图标
		/// </summary>		
		public string TemplateIcon { get; set; }
		/// <summary>
		/// 工作流模板描述
		/// </summary>		
		public string TemplateDescription { get; set; }
		/// <summary>
		/// 分类Code
		/// </summary>		
		public string CategoryCode { get; set; }
		/// <summary>
		/// 分类名称
		/// </summary>		
		public string CategoryName { get; set; }
		/// <summary>
		/// 是否为基础流程
		/// </summary>		
		public bool IsBaseFlow { get; set; }
		/// <summary>
		/// 特殊模板Key
		/// </summary>
		public string SpecificTemplateKey { get; set; }
		/// <summary>
		/// 是否移动端显示
		/// </summary>		
		public bool IsMobleShow { get; set; }
		/// <summary>
		/// 允许在我的任务中发起
		/// </summary>		
		public bool AllowInitiate { get; set; }
		/// <summary>
		/// 是否所有人员（为否时检查权限配置）
		/// </summary>		
		public bool IsAllPerson { get; set; }
		/// <summary>
		/// 已启用
		/// </summary>		
		public bool Enabled { get; set; }
		/// <summary>
		/// 创建人Id
		/// </summary>		
		public long CreateAdminId { get; set; }
		/// <summary>
		/// 创建者
		/// </summary>		
		public string CreateAdminName { get; set; }
		/// <summary>
		/// 创建时间
		/// </summary>		
		public DateTime CreateTime { get; set; }
		/// <summary>
		/// 编辑人Id
		/// </summary>		
		public long? EditAdminId { get; set; }
		/// <summary>
		/// 编辑者
		/// </summary>		
		public string EditAdminName { get; set; }
		/// <summary>
		/// 编辑时间
		/// </summary>		
		public DateTime? UpdateTime { get; set; }
		/// <summary>
		/// 权限配置
		/// </summary>
		public List<WorkflowTemplatePermissionDto> PermissionConfig { get; set; } = new List<WorkflowTemplatePermissionDto>();
		/// <summary>
		/// 工作流流程设计
		/// </summary>
		public WorkflowTemplateFlowStepDesignDto FlowDesign { get; set; } = new WorkflowTemplateFlowStepDesignDto();
	}
}

